From: Alejandro PiƱeiro Date: Fri, 17 Aug 2012 09:03:23 +0000 (+0200) Subject: a11y: can_focus=!reactive as a general rule is not true anymore X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~6168 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=dafa27fccdab00300479c0e8e853664522a10df6;p=gnome-shell.git a11y: can_focus=!reactive as a general rule is not true anymore In some cases can_focus value is taken directly as !reactive. But this is not the case anymore, as we are interested on navigate on non reactive items https://bugzilla.gnome.org/show_bug.cgi?id=667439 --- diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 0517837d6..4e7b3ee1a 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -37,12 +37,13 @@ const PopupBaseMenuItem = new Lang.Class({ activate: true, hover: true, sensitive: true, - style_class: null + style_class: null, + can_focus: true }); this.actor = new Shell.GenericContainer({ style_class: 'popup-menu-item', reactive: params.reactive, track_hover: params.reactive, - can_focus: params.reactive, + can_focus: params.can_focus, accessible_role: Atk.Role.MENU_ITEM}); this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth)); this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight)); @@ -69,10 +70,9 @@ const PopupBaseMenuItem = new Lang.Class({ } if (params.reactive && params.hover) this.actor.connect('notify::hover', Lang.bind(this, this._onHoverChanged)); - if (params.reactive) { - this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn)); - this.actor.connect('key-focus-out', Lang.bind(this, this._onKeyFocusOut)); - } + + this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn)); + this.actor.connect('key-focus-out', Lang.bind(this, this._onKeyFocusOut)); }, _onStyleChanged: function (actor) { @@ -395,7 +395,8 @@ const PopupSeparatorMenuItem = new Lang.Class({ Extends: PopupBaseMenuItem, _init: function () { - this.parent({ reactive: false }); + this.parent({ reactive: false, + can_focus: false}); this._drawingArea = new St.DrawingArea({ style_class: 'popup-separator-menu-item' }); this.addActor(this._drawingArea, { span: -1, expand: true });